void main() {
  /*
    set最主要的功能就是去除数组中的重复的内容
    set是没有顺序且不能重复的集合，所以不能通过索引去获取值
  */
  var s = new Set();
  s.add('香蕉');
  s.add('苹果');
  s.add('苹果');
  // 即使你add了两个苹果，最后s的值依然只有一个苹果
  print(s); //{香蕉, 苹果}

  // toList()可以将set类型数据转换为list类型
  print(s.toList());

  // 那么怎么利用set的特点对于数组去重呢?
  var mylist = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6];
  // 最简单的方式：直接调用list的toSet()方法转换为set类型直接去重，然后再调用set类型的toList()方法转回list
  var newlist1 = mylist.toSet().toList();
  // 复杂一点的方式，但是思路一样
  var s1 = new Set();
  s1.addAll(mylist);//set类型数据也是有addAll()方法的，用法与list的相同
  var newlist2 = s1.toList();
  print(newlist1); //[1, 2, 3, 4, 5, 6]
  print(newlist2); //[1, 2, 3, 4, 5, 6]
}
